package com.cskaoyan.javase.recursion._2depth;

/**
 * 测试递归的深度(了解)
 *
 * @since 17:28
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        sum(0);
    }

    public static int sum(int a) {
        // try...catch是一种异常处理的语法
        /*
            try是一个代码块,其中存放可能会出现异常的正常代码逻辑
            (能够通过编译,但运行起来可能会抛出异常的代码)

            当try代码块中的代码,抛出异常时,catch代码块如果恰好能够匹配异常,
            就会捕获异常并且执行catch代码块中的代码
            然后程序就不会报错终止了
         */
        try {
            return a + sum(a - 1);
        } catch (StackOverflowError error) {
            System.out.println("sum方法" + a + "层");
        }
        return 0;
    }
}
